﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DADOS.usuario
{
    public class metPrescricao
    {

        DB_PROAD banco = new DB_PROAD();

        private void FecharConexao(object banco)
        {
            ((DB_PROAD)banco).Connection.Close();
        }

        private void InicializarConexao(object banco)
        {
            ((DB_PROAD)banco).Connection.Open();
        }

        /// <summary>
        /// Incluir Prescrição do Médico
        /// </summary>
        /// <param name="objPresc">TB_PRESCRICAO objPresc</param>
        public void IncluirPrescMedico(TB_PRESCRICAO objPresc)
        {
            try
            {
                InicializarConexao(banco);
                banco.AddToTB_PRESCRICAO(objPresc);
                banco.SaveChanges();
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(banco);
            }
        }

        /// <summary>
        /// Selecionar última prescrição do médico de acordo com o código de prontuário
        /// </summary>
        /// <param name="intCodProntuario">intCodProntuario</param>
        /// <returns>obj TB_PRESCRICAO</returns>
        public TB_PRESCRICAO SelecionarPrescMedica(int intCodProntuario)
        {
            try
            {
                InicializarConexao(banco);
                var objPresc = banco.TB_PRESCRICAO.Where(q => q.CO_PRONTUARIO == intCodProntuario).OrderByDescending(q => q.DT_INCLUSAO).FirstOrDefault();
                return objPresc;
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(banco);
            }
        }

        /// <summary>
        /// Incluir Prescrição do Enfermeiro
        /// </summary>
        /// <param name="objPrescEnf">TB_PRESCRICAO_ENFERMEIRO objPrescEnf</param>
        public void IncluirPrescEnfermeiro(TB_PRESCRICAO_ENFERMEIRO objPrescEnf)
        {
            try
            {
                InicializarConexao(banco);
                objPrescEnf.NR_INTEGRIDADE_1_3_OUTROS = " .";
                objPrescEnf.NR_INTEGRIDADE_2_5_OUTROS = " .";
                objPrescEnf.NR_LIBERDADE_1_4_OUTROS = " .";
                objPrescEnf.NR_LIBERDADE_2_4_OUTROS = " .";
                banco.AddToTB_PRESCRICAO_ENFERMEIRO(objPrescEnf);
                banco.SaveChanges();
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(banco);
            }
        }

        /// <summary>
        /// Selecionar última prescrição do enfermeiro de acordo com o código do prontuário 
        /// </summary>
        /// <param name="intCodProntuario">intCodProntuario</param>
        /// <returns>obj TB_PRESCRICAO_ENFERMEIRO</returns>
        public TB_PRESCRICAO_ENFERMEIRO SelecionarPrescEnfermeiro(int intCodProntuario)
        {
            try
            {
                InicializarConexao(banco);
                var objPrescEnf = banco.TB_PRESCRICAO_ENFERMEIRO.Where(q => q.CO_PRONTUARIO == intCodProntuario).OrderByDescending(q => q.DT_INCLUSAO).FirstOrDefault();
                return objPrescEnf;
            }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                FecharConexao(banco);
            }
        }
    }
}
